The present disclosure relates to forming composite images.
Image capture devices, e.g., cameras, can be used to capture an image of a section of some larger view, and such image capture devices can have a field of view that is less than desired. Thus, to generate an image of the larger view, multiple overlapping images of sections of the view can be taken, and the images can be stitched together to form a composite image, which may sometimes be referred to as a panoramic image.
An image captured by an input device often distorts the image. For example, an image captured by a camera distorts the sizes of objects depicted in the image so that distant objects appear smaller than closer objects. In particular, capturing an image results in a projection of the section of the view. This projection can vary depending on the viewpoint of the image capture device, which results in projective distortion between the captured images.
Different image stitching software tools are available, including commercial products and free software available, for example, over the Web. These image stitching software tools include tools that require user input to establish a reference image for a set of images, tools that automatically select a reference image based on a fixed ordering to the images (i.e., the first image in the set can be taken as the reference image), and tools that automatically select a reference frame, which is not locked to any specific image. Recently, automatic image stitching, i.e., image stitching with no user interaction, has become feasible and popular, thanks to advances in computer vision techniques. Given a set of images, there is software that can return a set of transformations that, when applied to the images, allows the images to be joined together in a composite image in a seamless, or nearly seamless manner.
One example transformation is a projective transformation. A projective transformation is generally a nonlinear, two dimensional transformation that is conservative in terms of cross-ratios. A projective transformation can be represented with a 3×3 real non-singular matrix:
  P  =            [                                                  p              11                                                          p              12                                                          p              13                                                                          p              21                                                          p              22                                                          p              23                                                                          p              31                                                          p              32                                                          p              33                                          ]        .  
Given a point with coordinates x=[x1, x2], the transformed coordinates are given by:
  y  =            [                        y          1                ,                  y          2                    ]        =                  [                                            (                                                                    p                    11                                    ⁢                                      x                    1                                                  +                                                      p                    12                                    ⁢                                      x                    2                                                  +                                  p                  13                                            )                                      (                                                                    p                    31                                    ⁢                                      x                    1                                                  +                                                      p                    32                                    ⁢                                      x                    2                                                  +                                  p                  33                                            )                                ,                                    (                                                                    p                    21                                    ⁢                                      x                    1                                                  +                                                      p                    22                                    ⁢                                      x                    2                                                  +                                  p                  23                                            )                                      (                                                                    p                    31                                    ⁢                                      x                    1                                                  +                                                      p                    32                                    ⁢                                      x                    2                                                  +                                  p                  33                                            )                                      ]            .      
The identity transformation can be represented with the 3×3 identity matrix:
  P  =            [                                    1                                0                                0                                                0                                1                                0                                                0                                0                                1                              ]        .  and is a special projective transformation that, when applied to an image, results in the same image.